A collection of data may include a number of groups of data. For example, a computer file may include a number of categories of data. Each category of data may further include sub-categories of data. A computer processor may output the data according to the categories and sub-categories via an output device.
For example, a computer memory may include a plurality of records. Each of the records may include data pertaining to a number of categories. The computer processor may arrange the data in a table, where each row may correspond to a particular record, and each column may correspond to a particular category. A number of columns may further correspond to a main category, so that the category to which each of the number of columns corresponds is a sub-category of the main category. The processor may output the table in any conventional manner. For example, the processor may output the table for display on a computer monitor, or transmit the table to a printer to print out the table. The grouping of the data into columns may identify the individual categories of information to a user. However, the column groupings do not identify which groups of columns belong to a particular main category.
It is conventional to include in a computer program, code for color-coding the columns according to main categories to which the columns belong. For example, when executing the code, the processor may group together and highlight in one color columns that belong to one main category, and may group together and highlight in a different color columns that belong to a different main category.
However, if the computer program is configured to run on one operating system and is then run on a different operating system, the program may display the columns with the wrong colors. For example, the program may display all columns with the same color, and may therefore fail to identify which groups of columns belong to a particular main category.
A user may search for data elements within groups of data that match particular search criteria. For example, the user may search for matches to a particular data string within the columns of data. As a result of the search, the processor may highlight all matching data elements, e.g., records including data within the searched columns that match the search criteria. To find the matching data elements, the user may scan the searched columns for all highlighted data elements. However, especially where a column includes a very large amount of data so that the user must scroll to see all of the data, it may be difficult for the user to find all of the matching data elements. The user may even mistakenly overlook some highlighted data.
It is conventional for the processor to provide a list of only the subset of records that include the matching data elements. However, to ascertain how the list of the subset of records relates to the original list of records, the user must perform a line-by-line comparison.
It is also conventional for a computer application to provide a way to sort columns by particular values, e.g., alphabetically. If each row of a column would include only one value that includes a single string, then the processor would group together all rows including a matching data string since the rows all include a data string that is positioned in the same way according to the sort. However, if rows include more than one value or more than one string, then rows including a matching string might not be grouped together. For example, the user may instruct the processor to sort records so that data of a particular column is alphabetically arranged. The user may search the column for records that include the string, “United States.” A record that includes the string “Canada, United States” as the data corresponding to the searched column will not be grouped together with a record that includes the string “United States” as the data corresponding to the searched column.
Accordingly, there is a need in the art for a system and method for grouping data to identify categories of data and sub-categories of data in a platform-independent manner, and to aid a user in identifying data that match search criteria.